import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Test {
    //计算1！+2！+3！+4！+5！
//    public static void main(String[] args) {
//        int i=1;
//        int sum=0;
//        while(i<=3){
//            int j=1;
//            int ret=1;
//            while(j<=i){
//                ret *=j;
//                j++;
//            }
//           sum +=ret;
//            i++;
//        }
//        System.out.println(sum);
//        int num =1;
//        int sum = 0;
//        // 外层循环负责求阶乘的和
//        while (num <= 5) {
//            int factorResult = 1;
//            int tmp = 1;
//            // 里层循环负责完成求阶乘的细节.
//            while (tmp <= num) {
//                factorResult *= tmp;
//                tmp++;
//            }
//            sum += factorResult;
//            num++;
//        }
//        System.out.println("sum = " + sum);
//}


    //计算1~100
//    public static void main(String[] args) {
//    int sum=0;
//        for(int i=1;i<=100;i++){
//            sum +=i;
//        }
//        System.out.println(sum);
//    }
//键盘输入
//    public static void main(String[] args) {
//        Scanner sc=new Scanner(System.in);
//        System.out.println("输入姓名");
//        String name= sc.nextLine();
//        System.out.println("输入年龄");
//        int age= sc.nextInt();
//        System.out.println("姓名"+name+"年龄"+age);
//
//    }
// 猜数字游戏

//    public static void menu(){
//        System.out.println("****************");
//        System.out.println("*****1.play*****");
//        System.out.println("*****0.exit*****");
//        System.out.println("****************");
//    }
////猜数字游戏：
//public static void main(String[] args) {
//    menu();
//    while(true){
//        Scanner sc=new Scanner(System.in);
//        Random random = new Random(); // 默认随机种子是系统时间
//
//        int i= sc.nextInt();
//        if(i==1){
//            int rand= random.nextInt(100);
//            System.out.println(rand);
//            while(true){
//                System.out.println("请注入猜想数字");
//                int guess= sc.nextInt();
//                if(guess<rand){
//                    System.out.println("猜小了");
//                }else if(guess>rand){
//                    System.out.println("猜大了");
//                }else{
//                    System.out.println("猜对了！！！");
//                    break;
//                }
//
//
//            }
//            menu();
//        }
//        else if(i==0){
//            System.out.println("退出游戏");
//            break;
//
//        }else{
//            System.out.println("重新输入");
//        }
//    }
//    }

//实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 , 并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}
//public static void transform(int[] arr){
//    for(int i=0;i<arr.length;i++)
//    {
//        arr[i]=arr[i]*2;
//    }
//}
//    public static void main(String[] args) {
//        int[] arr={1,2,3};
//        transform(arr);
//        System.out.println(Arrays.toString(arr));
//    }
 //调整数组顺序使得奇数位于偶数之前。调整之后，不关心大小顺序。
//给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那 两个 整数，并返回它们的数组下标。
//    public static void find(int[] arr, int target){
//            for(int i=0;i<arr.length;i++){
//                for(int j=0;j<arr.length;j++){
//                    if(arr[i]+arr[j]==target){
//                        System.out.println("["+i+","+j+"]");
//                        break;
//                    }
//                }
//                break;
//            }
//    }
//
//    public static void main(String[] args) {
//    int[] arr={1,2,3,4,5};
//    find(arr,5);
//
//}


//给你一个整数数组 arr，请你判断数组中是否存在连续三个元素都是奇数的情况：如果存在，请返回 true ；否则，返回 false 。
//public static boolean odd(int[] arr){
//    boolean a=true;
//    for(int i=0;i< arr.length-2;i++){
//        if(arr[i]%2==1&&+arr[i+1]%2==1&&arr[i+2]%2==1){
//
//        } else{
//           a=false;
//        }
//
//    }
//    return a;
//
//}
//
//public static void main(String[] args) {
//
//    int[] arr={1,3,5,6};
//    boolean x=odd(arr);
//    System.out.println(x);
//}
//调整数组顺序使得奇数位于偶数之前。调整之后，不关心大小顺序。
public static void transform(int[] arr){
    int l=0;
    int r= arr.length-1;
    while(l<r){
        if(arr[l]%2!=0){
            l++;
        }
        if(arr[r]%2==0){
            r--;
        }
        int tmp=arr[l];
        arr[l]=arr[r];
        arr[r]=tmp;
    }
}
public static void main(String[] args) {
int[] arr={1,3,5,7,9,11,13};
transform(arr);
    System.out.println(Arrays.toString(arr));

}
    //给定一个大小为 n 的数组，找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
//public static int find(int[] arr){
//    Arrays.sort(arr);
//    return arr[(arr.length-1)/2];
//}
//public static void main(String[] args) {
//
//int[] arr={2,3,4,4,4};
//int x=find(arr);
//    System.out.println(x);
//
//}
//给你一个整数数组 arr，请你判断数组中是否存在连续三个元素都是奇数的情况：如果存在，请返回 true ；否则，返回 false 。
//public static boolean odd(int[] arr){
//    int count=0;
//    for(int i=0;i< arr.length;i++){
//        if(arr[i]%2==1){
//            count++;
//            if(count==3){
//                return true;
//            }
//        }else{
//            count=0;
//        }
//    }
//    return false;
//}
//public static void main(String[] args) {
//    int[] arr={1,3,4,5,7,9};
//     boolean x=odd(arr);
//    System.out.println(x);
//}










}
